package com.example.mq.common;

import com.example.mq.mqserver.core.BasicProperties;

import java.io.IOException;

// 只是一个单纯的函数式接口 (回调函数). 收到消息之后要处理消息时调用的方法
@FunctionalInterface
public interface Consumer {
    // Delivery "投递", 每次服务器收到消息后, 该方法被调用
    // 通过该方法, 把消息推送给对应的消费者
    // (此处 方法名和参数, 参考 RabbitMQ 展开)
    void handleDelivery(String consumerTag, BasicProperties basicProperties, byte[] body) throws MqException, IOException;
}
